/**
 * @description 判断値的类型
 * @param {any} value   要检查的值
 * @param {DataType} type  要检查的类型
 * @returns Boolean
 */
export function isType(value: any, type: DataType) {
  if (type === "Void") {
    return value === null || value === undefined;
  }
  //Object 是一个构造函数，直接调用Object.toString,会在原型链上查找，而会先找到Function.prototype,而Function.prototype.toString()的作用不是用来检查类型的
  // 而Object.prototype 是通过 new Object() 创造的实例的原型
  //call:是Function.prototype 的方法，改变this
  const res = Object.prototype.toString.call(value);
  //[object Null] 、 [object Number]等
  return res === `[object ${type}]`;
}
